/*
 *
 *  Copyright (C) 2007-2020 SimplyCore, LLC
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 *
 */

#ifndef lIllIIIII
#define lIllIIIII
#ifdef _USBD_ENABLE_STUB_
struct IIlll{struct list_head IIIIll;struct IIIlll*lllll;struct kref IllIll;u16 
vid;u16 IIllIll;u16 Illllll;char bus_id[BUS_ID_SIZE];struct usb_device*llIII;
char*IIIIIlIl;int IlIlIII;int lllIlllI;int lIIllIlI;int IlIllIl;int lIlllIl;int 
lIIIIIll;int lIlIIlII;
int lIIIlIll[(0x360+819-0x683)];int llIlIIll[(0x3f7+5032-0x178f)];int lIlIIIlII[
(0x695+6426-0x1f9f)];int IlllIlIlI[(0x12a9+2409-0x1c02)];wait_queue_head_t 
lIIllI;spinlock_t IIlIlI;struct list_head IlIIIII;spinlock_t lIlIlIl;struct 
list_head llllIlll;struct list_head IIIllIIl;
int llIIIlII;int lllIlIIl;int IIlIlIII;
int lIIIIll;int IlIllllI;int IIIlllII;int llIlIlIl;int lIlIlI;
spinlock_t lIIlIl;struct llIIll*llIIIlI;};int IIllllIIl(void);void lIIlllIlI(
void);struct IIlll*IIlIlIIIl(struct usb_device*IIIlI);void lIllIlIl(struct IIlll
*IIIll);const char*IlIIlIIll(void*context);const char*lllIIIIlI(void*context);
int IllllIll(struct usb_device*IIIlI);int IllIllll(struct usb_device*IIIlI);int 
IIIlIIIl(struct usb_device*IIIlI);int lIlIIIllI(struct usb_interface*IlIlIl,int 
IIlIlIlIII);void lllIIlIlI(struct usb_interface*IlIlIl);struct IIlll*IllIIIIl(
struct usb_device*IIIlI);void lIIIllIlI(struct IIlll*IIIll);void IllIlllIl(
struct IIlll*IIIll);int IIIIlllII(struct IIlll*IIIll);void IlIIlIlll(struct 
IIlll*IIIll);void IlllIIlll(struct IIlll*IIIll,int llIIIll);void lIlIllllI(
struct IIlll*IIIll,int llIIIll);int lIlllIIIl(struct IIlll*IIIll,int pipe);int 
IIIlIllI(struct IIlll*IIIll,int pipe);void IllIlllll(struct IIlll*IIIll,int pipe
);int llIlIIIl(struct IIlll*IIIll,int pipe);void IIllIlIl(struct IIlll*IIIll,int
 pipe,int IIIlIlI);int IIIlIIlll(struct usb_device*llIII,lIllIl endpoint);void 
IllIIlIll(struct IIlll*IIIll,struct usb_interface*llIlII,struct IllII*lIIIIII,
int lIllIII);void lllIlllIl(struct IIlll*IIIll,int endpoint,struct IllII*lIIIIII
);void lIlIllll(struct IIlll*IIIll,struct IllII*lIIIIII,int IIlllIlIl,int 
lIllIII);void lIlIIlIlI(struct IIlll*IIIll,llIIII IIllI,struct IllII*lIIIIII);
void llIlIllIl(struct kref*IIIlIll);static inline struct IIlll*lIIlIlll(struct 
IIlll*IIIll){kref_get(&IIIll->IllIll);return IIIll;}static inline void lllllIll(
struct IIlll*IIIll){kref_put(&IIIll->IllIll,llIlIllIl);}


#pragma pack(push,1)


struct llIlIIII{__le32 lIlllllIl;__u32 IlllIllIlI;__le32 lllIIIIIl;__u8 
IIllIIIII;__u8 lIlIIIIIlI;__u8 llIlllllII;__u8 IIIIIllIll[(0xb68+1732-0x121c)];}
__attribute__((packed));

struct lllIllllI{__le32 IIllIlIIlI;__u32 IllIlIllll;__le32 IIlllIIlIl;__u8 
lllIIIllIl;}__attribute__((packed));
#pragma pack(pop)
#define lIlllllII (0x19a0+3208-0x2428)
struct llIIll{struct IIlll*IIIll;int ep_in;int ep_out;llIIII IlIllllII;llIIII 
IIIIIlIII;llIIII IlIlIIlII;struct IllII*IlllII;struct IllII*IlIlll;lllII 
lIIIIlII;int IIlIIIII;int status;struct kref IllIll;struct urb*lIlll;void*llIIl;
int IlIllIll;
int IIIIIlI;int lIllIII;};enum lIllllIIlI{IIIllIll=(0x98a+7398-0x2670),IllllIlIl
,llllIIlI,lIIlIlIlI,lllIlIll,lIIIlIl};int lIllIlll(struct IIlll*IIIll);int 
llIIlIIlI(struct IllII*lIlII,gfp_t llllI);
#endif 
#endif 

